import Vue from 'vue'
import store from '@/store'

export const buttonPermissions = Vue.directive('has', {
  /**
   * inserted：被绑定元素插入父节点时调用
   * el：指令所绑定的元素，可以用来直接操作 DOM
   */
  inserted(el, binding) {
    const buttonKey = binding.value
    let flag = false
    if (buttonKey) {
      store.getters.permission.some(element => {
        if (element === buttonKey) {
          flag = true
          return flag
        }
      })
      if (!flag) {
        el.remove()
      }
    } else {
      throw new Error('缺少唯一指令')
    }
  }
})
